home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: delta / whiteline CD Series - delta.iso / document / hypertxt / udo3017 / doku / udo.u < prev    next >
Text File  |  1995-11-25  |  49KB  |  1,389 lines

  1. ############################################################
  2. # @(#) Die (neue) Anleitung zu UDO
  3. # @(#) Copyright (c) 1995 by
  4. # @(#) Dirk Hagedorn Software
  5. # @(#) In der Esmecke 9
  6. # @(#) D-59846 Sundern
  7. ############################################################
  8.  
  9. ############################################################
  10. # Spezielle Sachen
  11. ############################################################
  12. !include add\header.ui
  13.  
  14. !title Die Anleitung zu
  15.  
  16. !begin_document
  17.  
  18. # Die Silbenregeln
  19. !include add\hyphens.ui
  20.  
  21. !stg_short_toc
  22. !pch_short_toc
  23. !asc_no_effects
  24.  
  25. !maketitle
  26. !tableofcontents
  27.  
  28. ############################################################
  29. # Einleitung
  30. ############################################################
  31. !newpage
  32. !node Einleitung
  33.  
  34. !stg_subtoc
  35. !pch_subtoc
  36.  
  37. #-----------------------------------------------------------
  38. # Vorwort
  39. #-----------------------------------------------------------
  40. !subnode Vorwort
  41.  
  42. UDO(!N)der Name entspringt von (!B)U(!b)niversal (!B)DO(!b)cument(!n) 
  43. ist ein Programm, wel!-ches Text-Dateien mit speziellen Kommandos 
  44. komplett selbst formatiert, auf Wunsch Titelseite und 
  45. Inhaltsverzeichnis erzeugen kann und dann in folgende 
  46. Formate umwandeln kann:
  47.  
  48. !begin_enumerate
  49. !item ASCII
  50. !item ST-Guide-Quelltext
  51. !item !LaTeX-Quelltext
  52. !item Rich Text Format
  53. !item Pure-C-Help-Quelltext
  54. !item 1st Wordplus
  55. !end_enumerate
  56.  
  57. Die von UDO benutzen Kommandos ähneln sehr stark denen von !LaTeX~und den 
  58. HCP-Kommandos des ST-Guide. Wer also schon einmal mit !TeX~gearbeitet hat 
  59. bzw. einen Hypertext geschrieben hat, der wird sehr schnell mit UDO 
  60. zurechtkommen.
  61.  
  62. UDO richtet sich an alle Personen, die Anleitungen oder sonstige Texte 
  63. in mehreren Formaten weitergeben möchten. Falls Du eine der folgenden 
  64. Fragen mit ""Ja"" beantworten kannst, dann dürfte UDO genau das 
  65. richtige für Dich sein:
  66.  
  67. !begin_itemize
  68. !item Du programmierst und benötigst neben der ASCII-Anleitung noch 
  69.     einen Hypertext für den ST-Guide?
  70. !item Du programmierst und möchtest das Handbuch mit !TeX~oder einer 
  71.     Textverarbeitung, die RTF importieren kann, setzen?
  72. !item Du bist der Autor einer Pure-C-Library und möchtest die 
  73.     Beschreibung der einzelnen Routinen neben einer ASCII-Datei
  74.     auch als ST-Guide-Hypertext und als spezielle Hilfedatei im 
  75.     PC-Help-Format anbieten?
  76. !item Du brauchst zwar nur eine ASCII-Anleitung, möchtest aber die 
  77.     Kapitel nicht immer manuell durchnumerieren. Außerdem willst Du 
  78.     Dir ein Inhaltsverzeichnis automatisch ausgeben lassen können?
  79. !item Du bist jemand, der öfters an Texten etwas ändert und
  80.     dadurch jedesmal Absätze neu formatieren muß?
  81. !item Du bist ein Mauser, saugst eh alles und Du mußt eh alles einmal 
  82.     ausprobieren? (!grin)
  83. !end_itemize
  84.  
  85. Wenn Du keine Frage mit ""Ja"" beantworten konntest, dann dürfte UDO 
  86. nichts für Dich sein und Du kannst Dir das Weiterlesen dieser 
  87. Anleitung sparen.
  88.  
  89.  
  90.  
  91. #-----------------------------------------------------------
  92. # UDOs Geschichte
  93. #-----------------------------------------------------------
  94. !subnode UDOs Geschichte
  95.  
  96. Ende 1994 hatte ich ein paar Programme(!N)die Spiele der ""Play it 
  97. again, GEM!""-Reihe(!n) fertiggestellt, die die Unterstützung des 
  98. ST-Guide eingebaut hatten. Für diese Programme benötige ich nun also 
  99. einen Hypertext, eine Anleitung im ASCII-Format sowie eine gedruckte 
  100. Anleitung.
  101.  
  102. Und schon stand ich vor dem Problem: wie sollte ich die Anleitungen
  103. erstellen?
  104.  
  105. !begin_enumerate
  106. !item Als reine ASCII-Datei, dann die Hypertextkommandos einfügen und 
  107.     in Papyrus importieren und neu formatieren?
  108. !item Als Hypertext und dann die Hypertextkommandos filtern und im 
  109.     letzten Schritt wieder in Papyrus importieren und neu formatieren?
  110. !item Mit Papyrus, dann als ASCII exportieren, neu formatieren, da man 
  111.     ja einen Proportionalfont benutzt und der ASCII-Export 
  112.     entsprechend scheußlich aussieht und dann wieder im letzten 
  113.     Schritt die Hypertextkommandos einfügen?
  114. !end_enumerate
  115.  
  116. Ich habe schnell feststellen können, daß das auf Dauer keine Zumutung 
  117. ist und ich mußte mir etwas überlegen. Außerdem hatte ich in der 
  118. Zwischenzeit !TeX~entdeckt; ein neues Format kam auf mich zu. (!grin)
  119.  
  120. Grübel, grübel und studier; Anfang Januar 1995 war es dann soweit. Ein 
  121. bißchen nachgedacht(!N)ja, wirklich, nicht sofort losgehacked(!n) und 
  122. das erste Ergebnis Dirk Haun präsentiert, der sofort begeistert von 
  123. der Idee war und auch gleich einen Haufen Wünsche hatte und 
  124. Verbesserungsvorschläge machte. UDO war geboren!..
  125.  
  126. Nun haben wir Ende April und es hat sich gegenüber dem 2. Release einiges 
  127. getan. Wenn ich ""einiges"" sage, dann meine ich das auch. Alleine die 
  128. Tatsache, daß die Historie zu UDO in ein eigenes Dokument ausgelagert 
  129. wurde, spricht schon Bände.
  130.  
  131.  
  132.  
  133. #-----------------------------------------------------------
  134. # UDO's Zukunft
  135. #-----------------------------------------------------------
  136. !subnode UDO's Zukunft
  137.  
  138. UDO wird demnächst noch wesentlich mehr können und auch auf anderen 
  139. Rechnersystemen als dem Atari verfügbar sein. Geplant sind unter anderem
  140.  
  141. !begin_enumerate
  142. !item    eine Umgebung für Tabellen,
  143. !item    die korrekte Ausgabe von 1stWord-Dokumenten,
  144. !item    die Hypertext-Markup-Language (HTML) als Ausgabeformat,
  145. !item    Winhelp-Quelltexte als Ausgabeformat,
  146. !item    Wandlung der Dokumente im RAM,
  147. !item    UDO für Linux(!N)die erste Version wurde bereits compiliert, aber 
  148.         noch nicht getestet(!n),
  149. !item    UDO für DOS,
  150. !item    UDO für OS/2,
  151. !item    und wenn sich ein spezieller Herr endlich dazu entschließen würde,
  152.         sich einen ANSI-C-Compiler für seine HP-Apollo zuzulegen, auch ein UDO 
  153.         für HP-UX.
  154. !end_enumerate
  155.  
  156.  
  157.  
  158. #-----------------------------------------------------------
  159. # Über diese Anleitung
  160. #-----------------------------------------------------------
  161. !subnode Über diese Anleitung
  162.  
  163. Diese Anleitung wurde vor der Veröffentlichung des Release 3 komplett 
  164. neu geschrieben. Die alte Anleitung war nicht mehr tragbar, da zu 
  165. unübersichtlich.
  166.  
  167. In dieser Anleitung wird man zum einen etwas über UDO, dem Format erfahren 
  168. sowie etwas über die Bedienung von UDO, dem Programm.
  169.  
  170. Im folgenden werde ich jeweils ""Abkürzungen"" benutzen. Falls z.B. 
  171. ""für den ST-Guide"" zu lesen ist, dann bedeutet dies soviel wie ""für 
  172. die Wandlung in einen Hypertext-Quelltext für den ST-Guide"". Oder:
  173. ""bei RTF"" bedeutet dann soviel wie ""bei der Wandlung ins 
  174. RTF-Format"". Ich denke, Ihr werdet schon verstehen, was ich jeweils 
  175. meine.
  176.  
  177. Ich bitte darum, etwaige Rechtschreibfehler zu entschuldigen und mir 
  178. zu melden, damit ich diese verbessern kann. Nobody's perfect! (!grin)
  179.  
  180. Falls etwas in dieser Anleitung zu undurchsichtig oder zu kompliziert 
  181. erklärt worden ist, so hilft meist ein Blick in ''(!V)UDO.U(!v)'', dem 
  182. Quelltext dieser Anleitung. Hier sind alle möglichen Befehle 
  183. mindestens einmal benutzt worden.
  184.  
  185. So wie UDO selbst an !LaTeX~angelehnt ist, so ist auch der Aufbau 
  186. dieser Anleitung an ein Standardwerk für !LaTeX angelehnt. Hierbei 
  187. handelt es sich um ""!LaTeX-Einführung Band 1"" von Helmut Kopka, 
  188. erhältlich im Addison-Wesley-Verlag (ISBN 3-89319-664-1). Jedem, der 
  189. sich ein bißchen für !TeX~interessiert, möchte ich dieses Buch 
  190. besonders ans Herz legen!
  191.  
  192.  
  193. #-----------------------------------------------------------
  194. # Bekannte Mängel und Probleme
  195. #-----------------------------------------------------------
  196. !subnode Bekannte Mängel und Probleme
  197.  
  198. !label Mängel
  199. !label Probleme
  200.  
  201. !P ist nicht perfekt. Hier eine Auflistung aller derzeit bekannter
  202. Mängel:
  203.  
  204. !begin_enumerate
  205. !item    Die 1stWord-Ausgabe ist immer noch etwas daneben. Es fehlen noch 
  206.         das Lineal sowie weitere Dinge. Sorry, dazu bin ich in der Eile 
  207.         nicht mehr gekommen. Deshalb ist der Button in der GEM-Shell 
  208.         auch nicht anwählbar.
  209. !item    Wenn man Freedom als Fileselector benutzt, sollte man
  210.         UDOs Fens!-ter tunlichst nicht verschieben, solange
  211.         Freedom geöffnet ist. Tut man es doch, so wird man mit
  212.         nicht weniger als zwei Re!-draw!-feh!-lern bestraft, sobald
  213.         man Freedom beendet.
  214. !item    Das Iconifying funktioniert in der GEM-Shell nicht unter 
  215.         MagiC3. Der Fehler ist bekannt und wird demnächst behoben 
  216.         sein.
  217. !item    (hopefully not to be continued!..)
  218. !end_enumerate
  219.  
  220.  
  221. Folgende Probleme sind nicht udo-spezifisch, sondern haben eine
  222. an!-dere Ursache.
  223.  
  224. !begin_enumerate
  225. !item    Das Problem mit Freedom haben auch andere Programme. (!grin)
  226. !item    Atari Works mag die von UDO erzeugten RTF-Files nicht 
  227.         importieren und sagt nur lapidar ""Fehler beim Laden der 
  228.         Datei"". Ich tippe darauf, daß Works nicht mit den Zeilenenden 
  229.         zurechtkommt, obwohl lauft RTF-Spezifikation ASCII 13 
  230.         ignoriert werden muß. Beschwert Euch bei Atari, beim 
  231.         Generalvertrieb oder direkt in Indien. (!grin)
  232. !item    Tempus Word soll ebenso Probleme beim RTF-Import haben. Woran 
  233.         das liegt, kann ich ohne Tempus Word schlecht beurteilen. UDO 
  234.         benutzt nur Befehle, wie sie auch in der RTF-Spezifikation 
  235.         an!-ge!-ge!-ben sind. Wenn Tempus Word damit dann nicht 
  236.         klarkommt, dann ist das nicht UDO's oder meine
  237.         Schuld, sondern es liegt an der man!-gel!-haf!-ten RTF-Einbindung.
  238.         Beschwert Euch also bitte bei CCD und nicht bei mir.
  239. !item    Papyrus 3.11 unterstützt nicht den RTF-Befehl ''(!V)\line(!v)'',
  240.         weshalb das UDO-Kommando ''(!V)(!/nl)(!v)'' nicht korrekt
  241.         umgesetzt wird.
  242. !end_enumerate
  243.  
  244.  
  245.  
  246. ############################################################
  247. # Shareware
  248. ############################################################
  249. !node Shareware
  250.  
  251. Und schon sind wir beim leidigen Thema angekommen!...
  252.  
  253. !P ist Shareware und kostet 30~DM inkl. Mehrwertsteuer(!N)dieser Preis ist 
  254. eigentlich ein Witz, wenn man mal bedenkt, was !P alles leistet und was !P 
  255. einem alles an Arbeit erspart(!n).
  256.  
  257. !P ist in der vorliegenden Kommandozeilenversion nicht ein!-ge!-schränkt. 
  258. Da die Hauptanwendergruppe für !P größtenteils aus Hand!-buch- und 
  259. Programmautoren bestehen dürfte und ich mir hier eine größe!-re 
  260. Zahlungsmoral erhoffe als beim großen Rest der heimlichen 
  261. An!-wen!-der!-schar, habe ich hier auf großartige Einschränkungen und 
  262. Re!-gis!-trie!-rungs!-ver!-fah!-ren verzichtet.
  263.  
  264. Sollte ich wider Erwarten kaum Resonanz in Form von Registrierungen 
  265. bekommen, werde ich entweder
  266.  
  267. !begin_enumerate
  268. !item    !P zur Crippleware machen(!N)etwa mit häßlichen Warteschleifen, 
  269.         begrenzten Dokumentgrößen, vertauschten Buchstaben in der 
  270.         Ziel!-datei, !..(!n) oder
  271. !item    die Weiterentwicklung von !P komplett einstellen oder
  272. !item    neue Versionen nicht mehr veröffentlichen und nur noch an 
  273.         re!-gis!-trier!-te Anwender herausgeben.
  274. !end_enumerate
  275.  
  276. Das sind keine leeren Drohungen, das ist mein Ernst. Ich bin in der 
  277. Vergangenheit bereits oft genug enttäuscht worden. Manche mögen 
  278. an!-ge!-sichts dieser Worte schmunzeln; ich kann darüber gar nicht mehr 
  279. lachen.
  280.  
  281. !label Registrierung
  282.  
  283. Nach erfolgter Registrierung erhält man von mir eine Rechnung, um den Kauf 
  284. von !P steuerlich absetzen zu können, sowie den Schlüssel zur Registrierung 
  285. der eingeschränkten GEM-Shell.
  286.  
  287. !label Überweisung
  288. !label V-Scheck
  289.  
  290. (!B)Und so wird man registrierter Benutzer von !P!..(!b)
  291.  
  292. Den Shareware-Beitrag von 30~DM(!N)wer mehr spenden will, kann das gerne 
  293. tun (!grin)(!n) kann man mir folgendermaßen zukommen lassen:
  294.  
  295. !begin_enumerate
  296. !item    Durch Überweisung auf mein Konto. Bitte dabei möglichst die 
  297.         komplette Anschrift auf dem Überweisungsträger und ""UDO"" als 
  298.         Stich!-wort angeben, damit ich die Überweisung korrekt zuordnen kann.
  299.         Zusätzlich sollte man eine Postkarte oder eine PM per EMail an mich schicken,
  300.         anhand derer man mich informiert, daß man die Überweisung vorgenommen hat.
  301. !item    Durch Zusendung eines Verrechnungsschecks, ausgestellt auf 30~DM.
  302. !item    Durch Zusendung des Geldes per Brief. Am besten ist es, das 
  303.         Geld dann per Einschreiben zu verschicken, damit man sicher gehen 
  304.         kann, daß das Geld auch mir angekommen ist.
  305. !end_enumerate
  306.  
  307.  
  308. !label Autor
  309. !label Dirk Hagedorn
  310. !label Bankverbindung
  311. !label Anschrift
  312.  
  313. Hier meine Anschrift und meine Bankverbindung:
  314.  
  315. !begin_quote
  316. Dirk Hagedorn        (!nl)
  317. In der Esmecke 9    (!nl)
  318. D-59846 Sundern
  319.  
  320. Sparkasse Arnsberg-Sundern    (!nl)
  321. Konto 3 561 164                (!nl)
  322. Bankleitzahl 466 500 05
  323.  
  324. MausNet: Dirk Hagedorn @ MK2    (!nl)
  325. !end_quote
  326.  
  327.  
  328.  
  329. ############################################################
  330. # TTP
  331. ############################################################
  332.  
  333. !newpage
  334. !include add\udottp.ui
  335.  
  336.  
  337. ############################################################
  338. # Grundlagen
  339. ############################################################
  340. !newpage
  341. !node Grundlagen
  342.  
  343. !stg_subtoc
  344. !pch_subtoc
  345.  
  346.  
  347. #-----------------------------------------------------------
  348. # Grundlagen/Textaufbau
  349. #-----------------------------------------------------------
  350. !subnode Textaufbau
  351.  
  352. !stg_subsubtoc
  353. !pch_subsubtoc
  354.  
  355.  
  356. #-----------------------------------------------------------
  357. # Grundlagen/Textaufbau/Worte, Absätze !& Kapitel
  358. #-----------------------------------------------------------
  359. !subsubnode Worte, Absätze !& Kapitel
  360.  
  361. Ein Text setzt sich aus Worten, Sätzen, Absätzen, Abschnitten und 
  362. Kapiteln zusammen.
  363.  
  364. Worte bilden Sätze, Sätze bilden Absätze, mehrere Absätze bilden 
  365. Abschnitte und/oder Kapitel.
  366.  
  367. Ein Wort besteht aus einem oder mehreren Zeichen, von denen keines ein 
  368. Leerzeichen oder ein Tabulator ist. Mehrere Worte bilden einen Satz. 
  369. Zwei Worte werden durch ein oder mehrere Leerzeichen bzw. einen oder 
  370. mehrere Tabulatoren voneinander getrennt.
  371.  
  372. Ein Absatz besteht aus einem oder mehreren Sätzen. Absätze werden 
  373. durch eine oder mehrere Leerzeile(n) voneinander getrennt.
  374.  
  375. Ein Abschnitt oder Kapitel besteht aus einem oder mehreren Absätzen.
  376.  
  377. Ein Wort darf bei UDO maximal 80 Zeichen lang sein. Die Anzahl an 
  378. Worten innerhalb eines Absatzes ist nicht eingeschränkt, ebensowenig 
  379. die Anzahl an Absätzen innerhalb eines Abschnitts oder eines Kapitels.
  380.  
  381.  
  382. #-----------------------------------------------------------
  383. # Grundlagen/Textaufbau/Vorspann !& Hauptteil
  384. #-----------------------------------------------------------
  385. !subsubnode Vorspann !& Hauptteil
  386.  
  387. !label Vorspann
  388. !label Hauptteil
  389.  
  390. Jeder Text, der von UDO bearbeitet werden soll, muß sich in zwei Teile 
  391. teilen:
  392.  
  393. !begin_enumerate
  394.  
  395. !item Vorspann     (!nl)
  396.     Im Vorspann können Angaben zum Autor und Inhalt des Textes ge!-macht 
  397.     werden, müssen u.U. spezielle Befehle für !LaTeX 
  398.     ((!V)\documentstyle(!v), ...), RTF ((!V)!rtf_propfont(!v), ...) 
  399.     oder den ST-Guide ((!V)@subject, ...(!v)) eingefügt werden.
  400.  
  401. !item Hauptteil     (!nl)
  402.     Der Hauptteil (!B)muß immer(!b) mit ''(!V)!/begin_document(!v)'' und 
  403.     ''(!V)!/end_document(!v)'' geklammert werden und enthält den 
  404.     eigentlichen Inhalt der Anleitung.
  405.  
  406. !end_enumerate
  407.  
  408.  
  409.  
  410. #-----------------------------------------------------------
  411. # Grundlagen/Textaufbau/Kommentare
  412. #-----------------------------------------------------------
  413. !subsubnode Kommentare
  414.  
  415. Ein Text darf Kommentare enthalten. Eine Zeile gilt dann als 
  416. Kommentar, wenn das erste Zeichen dieser Zeile ein ''(!V)#(!v)'' ist.
  417.  
  418. Eine Zeile mit einem Kommentar wird nicht beachtet und ausgegeben. 
  419. Keine Regel ohne Ausnahme: Innerhalb einer Verbatim-Umgebung werden 
  420. auch Kommentare ausgegeben!
  421.  
  422.  
  423.  
  424.  
  425.  
  426. #-----------------------------------------------------------
  427. # Grundlagen/Befehle
  428. #-----------------------------------------------------------
  429. !subnode Befehle
  430.  
  431. !label Metazeichen
  432.  
  433. Innerhalb eines Textes bedarf es spezieller Befehle, anhand derer UDO 
  434. erkennen kann, wie dieser Text zu strukturieren und zu formatieren 
  435. ist. Ein Befehl beginnt jeweils mit ''(!V)!/(!v)'' bzw. mit 
  436. ''(!V)(!/(!v)''.
  437.  
  438. Da das ''(!V)!/(!v)'' als Metazeichen zu Beginn eines Wortes normalerweise keine
  439. Verwendung findet, ist die Verwendung unproblematisch. Das
  440. Metazeichen muß generell nicht (!I)gequotet(!i) werden. Nur dann, wenn man einen
  441. UDO-Befehl selbst in einem Text verwenden will, so muß man
  442. das Metazeichen durch ''(!V)!//(!v)'' gequotet werden, wie z.B. dann,
  443. wenn man das Kommando ''(!V)!//tableofcontents(!v)'' selbst benutzen möchte.
  444.  
  445.  
  446.  
  447. #-----------------------------------------------------------
  448. # Grundlagen/Bedingte Befehle
  449. #-----------------------------------------------------------
  450. !subnode Bedingte Befehle
  451.  
  452. Manchmal möchte man spezielle Zeilen nur bei einem Zielformat 
  453. ausgeben. Hierfür existieren folgende Befehle: 
  454.  
  455. ''(!V)!/asc ...(!v)'', 
  456. ''(!V)!/pch ...(!v)'',
  457. ''(!V)!/rtf ...(!v)'',
  458. ''(!V)!/stg ...(!v)'',
  459. ''(!V)!/tex ...(!v)'',
  460. ''(!V)!/1wp ...(!v)'' und
  461. ''(!V)!/html ...(!v)''
  462.  
  463. Trifft UDO am Anfang einer Zeile auf solch einen Befehl, so gibt er 
  464. den Rest der Zeile nur aus, wenn man nach ASCII, PC-Help, RTF, 
  465. ST-Guide, !TeX~ oder 1stWord wandelt.
  466.  
  467. Durch Verwendung dieser Befehle lassen sich sehr einfach spezielle 
  468. Dinge wie die Grafikeinbindung bei !TeX oder beim ST-Guide oder wie 
  469. das Hinzufügen zusätzlicher spezieller Kommandos lösen.
  470.  
  471. Im anderen Falle möchte man spezielle Zeilen nicht bei allen 
  472. Ziel!-for!-ma!-ten ausgeben. Hierfür existieren ana!-log folgende Befehle:
  473.  
  474. ''(!V)!/=asc ...(!v)'', 
  475. ''(!V)!/=pch ...(!v)'',
  476. ''(!V)!/=rtf ...(!v)'',
  477. ''(!V)!/=stg ...(!v)'',
  478. ''(!V)!/=tex ...(!v)'',
  479. ''(!V)!/=1wp ...(!v)'' und
  480. ''(!V)!/=html ...(!v)''
  481.  
  482. Trifft UDO am Anfang einer Zeile auf solch einen Befehl, so gibt er 
  483. den Rest der Zeile immer dann aus, wenn man (!U)nicht(!u) nach ASCII, PC-Help,
  484. etc. wandelt.
  485.  
  486. (!B)Vorsicht!(!b) Der Rest der Zeile, der einem bedingten Befehl 
  487. folgt, wird nicht umgewandelt! Das bedeutet, daß man keine 
  488. UDO-Kommandos, UDO-Textstile etc. benutzen kann!
  489.  
  490.  
  491.  
  492. #-----------------------------------------------------------
  493. # Grundlagen/Umgebungen
  494. #-----------------------------------------------------------
  495. !subnode Umgebungen
  496.  
  497. UDO verwendet zur Formatierung des Texts genau wie 
  498. !LaTeX~sogenannte 
  499. ""Umgebungen"". Absätze, die innerhalb einer solchen Umgebung stehen, 
  500. werden dabei besonders formatiert.
  501.  
  502. Eine Umgebung wird durch ''(!V)!begin_...(!v)'' eingeleitet und durch 
  503. ''(!V)!end_...(!v)'' beendet.
  504.  
  505. Ob eine Umgebung schachtelbar ist und wie die Absätze innerhalb einer 
  506. Umgebung formatiert wird, findet man in den speziellen Kapiteln.
  507.  
  508.  
  509. #-----------------------------------------------------------
  510. # Grundlagen/Sonderzeichen
  511. #-----------------------------------------------------------
  512. !subnode Sonderzeichen
  513. Die Zeichen ''(!V)# $ & ~ _ ^ % {  } \(!v)'' haben für !TeX~und RTF 
  514. eine spezielle Bedeutung.
  515.  
  516. Damit bei einem !TeX-Lauf bzw. beim Compilieren des Pure-C-Helpfiles
  517. keine Fehlermeldungen auftreten, müssen 
  518. diese Sonderzeichen mit Aus!-nahme der Tilde durch
  519. ''(!V)!/(!v)'' gequotet werden, solange diese Zeichen nicht innerhalb 
  520. einer Verbatim-Umgebung oder zwischen ''(!V)(!/V)...(!/v)(!v)'' 
  521. stehen!
  522.  
  523. Anstelle des Anführungszeichens ''(!V)"(!v)'' sollte man in einem Text 
  524. immer doppelte Anführungszeichen ''(!V)""""(!v)'' benutzen. UDO wandelt 
  525. diese doppelten Anführungszeichen für !TeX~und RTF in die korrekten
  526. deutschen(!N)ja, ja, immer diese korrekten Deutschen (!grin)(!n) 
  527. Anführungsstriche. Bei allen anderen Formaten werden die doppelten 
  528. wieder durch die einfachen Anführungszeichen ersetzt.
  529.  
  530. Wer nur für sich selbst Texte im ASCII- und ST-Guide-Format erzeugt, 
  531. braucht die Sonderzeichen nicht zu quoten bzw. doppelte 
  532. An!-füh!-rungs!-zei!-chen benutzen.
  533.  
  534. Wer allerdings seine Dokumentation auch im UDO-Format weitergeben 
  535. möchte, sollte Sonderzeichen immer quoten und auch immer doppelte 
  536. Anführungszeichen benutzen!
  537.  
  538.  
  539.  
  540.  
  541. ############################################################
  542. # Gliederung
  543. ############################################################
  544. !newpage
  545. !node Gliederung
  546.  
  547. !stg_subtoc
  548. !pch_subtoc
  549.  
  550. Jede vernünftige Anleitung läßt sich für gewöhnlich in eine 
  551. Titelseite, ein Inhaltsverzeichnis, Kapitel, 
  552. Abschnitte, Unterabschnitte und einen Anhang 
  553. unterteilen.
  554.  
  555.  
  556.  
  557.  
  558. #-----------------------------------------------------------
  559. # Gliederung/Titelseite
  560. #-----------------------------------------------------------
  561. !subnode Titelseite
  562.  
  563. UDO kann durch ''(!V)!/maketitle(!v)'' automatisch eine Titelseite erzeugen.
  564.  
  565. Dazu müssen im Vorspann die Angaben für ''(!V)!/author(!v)'', ''(!V)!/street(!v)'', 
  566. ''(!V)!/town(!v)'', ''(!V)!/email(!v)'', ''(!V)!/title(!v)'', 
  567. ''(!V)!/program(!v)'', ''(!V)!/version(!v)'' und ''(!V)!/date(!v)'' 
  568. ganz oder auch nur teilweise stehen.
  569.  
  570. Bei der Wandlung ins ST-Guide-Format wird die Titelseite hingegen 
  571. nicht sofort erzeugt, sondern erst bei ''(!V)!/tableofcontents(!v)''. 
  572. Intern wird also lediglich vermerkt, daß der erste Node Titelangaben 
  573. und Inhaltsverzeichnis enthalten soll.
  574.  
  575.  
  576.  
  577. #-----------------------------------------------------------
  578. # Gliederung/Inhaltsverzeichnis
  579. #-----------------------------------------------------------
  580.  
  581. !subnode Inhaltsverzeichnis
  582.  
  583. Der Befehl ''(!V)!/tableofcontents(!v)'' wird von UDO durch ein 
  584. automatisch generiertes Inhaltsverzeichnis ersetzt(!N)nicht für 
  585. !TeX~und RTF(!n).
  586.  
  587. Da dieses Inhaltsverzeichnis durchaus einigen Umfang erhalten kann, 
  588. kann man durch den Befehl ''(!V)_short_toc(!v)'', der irgendwann 
  589. vor ''(!V)!/tableofcontents(!v)'' auftauchen muß, ein kurzes 
  590. Inhaltsverzeichnis ausgeben lassen. Die kürzere Version besteht nur 
  591. noch aus den Kapitelnamen; Abschnitte und Unterabschnitte werden also 
  592. nicht berücksichtigt.
  593.  
  594. Durch ''(!V)!/short_toc(!v)'' erhält man immer ein kurzes 
  595. Inhaltsverzeichnis. Möchte man jedoch bei der ASCII-Anleitung ein 
  596. langes und beim ST-Guide ein kurzes Inhaltsverzeichnis haben, so muß 
  597. man folgende Befehle anwenden:
  598.  
  599. ''(!V)!/asc_short_toc(!v)'',
  600. ''(!V)!/pch_short_toc(!v)'',
  601. ''(!V)!/stg_short_toc(!v)'' sowie
  602. ''(!V)!/1wp_short_toc(!v)''
  603.  
  604. Steht nun im Text z.B. der Befehl ''(!V)!/stg_short_toc(!v)'', so wird 
  605. bei der Wandlung nach ST-Guide ein kurzes Inhaltsverzeichnis 
  606. ausgegeben, bei allen anderen Formaten jeweils ein komplettes
  607. Inhaltsverzeichnis.
  608.  
  609. Wenn man nun ein kurzes Inhaltsverzeichnis benutzt, muß man dafür 
  610. sorgen, daß man im Hypertext oder im PC-Helpfile auch zu den 
  611. Abschnitten und Unterabschnitten weiterverzweigen kann.
  612. Dies ist durch die Befehle ''(!V)!/subtoc(!v)'' und 
  613. ''(!V)!/subsubtoc(!v)'' möglich.
  614.  
  615. Durch ''(!V)!/subtoc(!v)'' erhält an der aktuellen Position alle zum 
  616. aktuellen Kapitel zugehörigen Abschnitte aufgelistet, durch 
  617. ''(!V)!/subsubtoc(!v)'' ana!-log alle zum aktuellen Abschnitt 
  618. zugehörigen Unterabschnitt.
  619.  
  620. Möchte man wie im obigen Beispiel nur beim ST-Guide ein 
  621. Unter-Inhaltsverzeichnis, so läßt sich dies durch die Befehle
  622. ''(!V)!/stg_subtoc(!v)'' und ''(!V)!/stg_subsubtoc(!v)'' lösen.
  623.  
  624. Für die anderen Formate existieren die Befehle
  625. ''(!V)!/asc_subtoc(!v)'', ''(!V)!/asc_subsubtoc(!v)'',
  626. ''(!V)!/pch_subtoc(!v)'', ''(!V)!/pch_subsubtoc(!v)'',
  627. ''(!V)!/1wp_subtoc(!v)'' und ''(!V)!/1wp_subsubtoc(!v)''
  628. natürlich auch.
  629.  
  630.  
  631.  
  632.  
  633. #-----------------------------------------------------------
  634. # Gliederung/Kapitel, Abschnitte und Unterabschnitte
  635. #-----------------------------------------------------------
  636. !subnode Kapitel, Abschnitte und Unterabschnitte
  637.  
  638. !label Kapitel
  639. !label Abschnitt
  640. !label Unterabschnitt
  641.  
  642. !begin_description
  643. !item [''(!V)!/node(!v)''] leitet ein Kapitel ein.
  644. !item [''(!V)!/subnode(!v)''] leitet einen Abschnitt ein.
  645. !item [''(!V)!/subsubnode(!v)''] leitet einen Unterabschnitt ein.
  646. !end_description
  647.  
  648. Alles, was nach diesem Befehl folgt, wird in das Inhaltsverzeichnis 
  649. übernommen. Für !TeX~, RTF, PC-HELP und ST-Guide werden die speziellen 
  650. Befehl bzw. Absatzformate eingefügt.
  651.  
  652.  
  653.  
  654. #-----------------------------------------------------------
  655. # Gliederung/Anhang
  656. #-----------------------------------------------------------
  657. !subnode Anhang
  658.  
  659. Der Anhang wird durch den Befehl ''(!V)!/begin_appendix(!v)'' 
  660. eingeleitet und mit ''(!V)!/end_appendix(!v)'' beendet.
  661.  
  662. Kapitel, die innerhalb der Appendix-Umgebung stehen, werden mit 
  663. Großbuchstaben durchnumeriert.
  664.  
  665. Pro Dokument ist nur ein Anhang möglich!
  666.  
  667.  
  668. ############################################################
  669. # Formatierung
  670. ############################################################
  671.  
  672. !newpage
  673. !node Formatierung
  674.  
  675. !stg_subtoc
  676. !pch_subtoc
  677.  
  678. UDO kümmert sich komplett um die Formatierung des Textes. UDO ist es 
  679. völlig egal, wie lang(!N)na ja, nicht ganz, länger als 4092 Zeichen 
  680. darf eine Zeile nicht sein(!n) eine Zeile Deines Quelltextes ist, 
  681. durch wie!-viele Leerzeichen und TABs die Worte eingerückt sind und 
  682. durch wie!-viele Leerzeilen die Absätze voneinander getrennt sind.
  683.  
  684. UDO bricht Absätze generell auf eine Länge von 70 Zeichen um. Texte 
  685. mit einer Breite von 70 Zeichen lassen sich bequem ausdrucken und auch 
  686. auf in der hohen ST-Auflösung vernünftig lesen. Für !TeX~und RTF 
  687. spielt der Umbruch eh keine Rolle, da hier die Formatierung von 
  688. !TeX~selbst bzw. von der Textverarbeitung übernommen wird.
  689.  
  690.  
  691.  
  692. #-----------------------------------------------------------
  693. # Formatierung/Änderungen der Schrift
  694. #-----------------------------------------------------------
  695.  
  696. !subnode Änderungen der Schrift
  697.  
  698. UDO beinhaltet Kommandos zur Änderungen der Schrift bzw. des 
  699. Schriftstils. Diese Kommandos werden bei der Wandlung in ein Format 
  700. entsprechend umgesetzt bzw. gefiltert, falls das Format einen solchen 
  701. Stil nicht kennt.
  702.  
  703. An Stilen stehen zur Verfügung:
  704.  
  705. !begin_quote
  706. !begin_verbatim
  707. (!B)...(!b) -> bold       (fett)
  708. (!U)...(!u) -> underlined (unterstrichen)
  709. (!I)...(!i) -> italic     (kursiv bzw. schräg)
  710. (!V)...(!v) -> verb       (Schreibmaschinenschrift für TeX, RTF)
  711. (!F)...(!f) -> fbox       (nur für TeX)
  712. !end_verbatim
  713. !end_quote
  714.  
  715.  
  716. Beispiele:
  717.  
  718. !begin_quote
  719. (!B)fett(!b)
  720.  
  721. (!U)unterstrichen(!u)
  722.  
  723. (!I)kursiv(!i)
  724.  
  725. (!V)verb(!v)
  726.  
  727. (!F)fbox(!f)
  728. !end_quote
  729.  
  730.  
  731.  
  732. #-----------------------------------------------------------
  733. # Formatierung/Textverschiebungen
  734. #-----------------------------------------------------------
  735. !subnode Textverschiebungen
  736.  
  737. !stg_subsubtoc
  738. !pch_subsubtoc
  739.  
  740. UDO beherrscht momentan nur eingerückten Text. Zentrierter 
  741. Text und Blocksatz folgen demnächst.
  742.  
  743.  
  744.  
  745. #-----------------------------------------------------------
  746. # Formatierung/Textverschiebungen/Zentrierter Text
  747. #-----------------------------------------------------------
  748. !subsubnode Zentrierter Text
  749. !label Center-Umgebung
  750.  
  751. Demnächst!..
  752.  
  753.  
  754. #-----------------------------------------------------------
  755. # Formatierung/Textverschiebungen/Eingerückter Text
  756. #-----------------------------------------------------------
  757. !subsubnode Eingerückter Text
  758. !label Quote-Umgebung
  759.  
  760. Durch die Quote-Umgebung, die durch ''(!V)!/begin_quote(!v)'' und 
  761. ''(!V)!/end_quote(!v)'' gebildet wird, werden Absätze innerhalb dieser 
  762. Umgebung nach rechts eingerückt.
  763.  
  764. Diese Umgebung ist bis zu viermal schachtelbar. Ein Beispiel:
  765.  
  766. !begin_quote
  767. Dies ist ein Satz, der innerhalb der ersten Quote-Umgebung steht.
  768.   !begin_quote
  769.   Dies ist ein Satz, der innerhalb der zweiten Quote-Umgebung steht.
  770.     !begin_quote
  771.     Dies ist ein Satz, der innerhalb der dritten Quote-Umgebung steht.
  772.       !begin_quote
  773.       Dies ist ein Satz, der innerhalb der vierten Quote-Umgebung steht.
  774.  
  775.       Auch dieser Satz steht innerhalb der vierten Quote-Umgebung.
  776.       !end_quote
  777.     Dies ist wieder die dritte Quote-Umgebung.
  778.     !end_quote
  779.   Dies ist wieder die zweite Quote-Umgebung.
  780.   !end_quote
  781. Dies ist wieder die erste Quote-Umgebung.
  782. !end_quote
  783.  
  784. Dieses Beispiel wurde folgendermaßen erzeugt:
  785.  
  786. !begin_verbatim
  787. !begin_quote
  788. Dies ist ein Satz, der innerhalb der ersten Quote-Umgebung steht.
  789.   !begin_quote
  790.   Dies ist ein Satz, der innerhalb der zweiten Quote-Umgebung steht.
  791.     !begin_quote
  792.     Dies ist ein Satz, der innerhalb der dritten Quote-Umgebung steht.
  793.       !begin_quote
  794.       Dies ist ein Satz, der innerhalb der vierten Quote-Umgebung steht.
  795.  
  796.       Auch dieser Satz steht innerhalb der vierten Quote-Umgebung.
  797.       !end_quote
  798.     Dies ist wieder die dritte Quote-Umgebung.
  799.     !end_quote
  800.   Dies ist wieder die zweite Quote-Umgebung.
  801.   !end_quote
  802. Dies ist wieder die erste Quote-Umgebung.
  803. !end_quote
  804. !end_verbatim
  805.  
  806.  
  807.  
  808. #-----------------------------------------------------------
  809. # Formatierung/Aufzählungen
  810. #-----------------------------------------------------------
  811. !subnode Aufzählungen
  812.  
  813. !stg_subsubtoc
  814. !pch_subsubtoc
  815.  
  816. Für Aufzählungen stehen genau wie in !LaTeX~folgende Umgebungen zur 
  817. Verfügung:
  818.  
  819. !begin_itemize
  820. !item ''(!V)!/begin_itemize(!v)'' !.. ''(!V)!/end_itemize(!v)''
  821. !item ''(!V)!/begin_enumerate(!v)'' !.. ''(!V)!/end_enumerate(!v)''
  822. !item ''(!V)!/begin_description(!v)'' !.. ''(!V)!/end_description(!v)''
  823. !end_itemize
  824.  
  825. Der aufzuzählende Text, der innerhalb dieser Umgebungen steht, wird 
  826. eingerückt und mit einer Markierung versehen. Der aufzuzählende Text 
  827. kann beliebig lang sein. Die einzelnen Aufzählungen werden jeweils 
  828. durch Leerzeilen voneinander getrennt.
  829.  
  830. Die Umgebungen dürfen bis zu viermal (auch gemischt) geschachtelt werden.
  831.  
  832. Zur Kennzeichnung einer Aufzählung wird der Befehl ''(!V)!/item ...(!v)'' 
  833. benutzt.
  834.  
  835. Bei der Description-Umgebung kann wahlweise außerdem der 
  836. Befehl ''(!V)!/item [...] ...(!v)'' verwendet werden. Alles, was hier 
  837. in eckigen Klammern steht, wird bei der Aufzählung in Fettschrift 
  838. ausgegeben.
  839.  
  840.  
  841.  
  842. #-----------------------------------------------------------
  843. # Formatierung/Aufzählungen/Beispiel 'itemize'
  844. #-----------------------------------------------------------
  845. !subsubnode Beispiel ''itemize''
  846. !label Itemize-Umgebung
  847.  
  848. !begin_itemize
  849. !item Die erste Stufe bekommt einen dicken Punkt.
  850.       !begin_itemize
  851.       !item Die zweite Stufe bekommt einen Strich.
  852.             !begin_itemize
  853.             !item Die dritte Stufe bekommt einen Stern.
  854.                   !begin_itemize
  855.                   !item Die vierte Stufe bekommt einen Punkt ''(!V).(!v)''.
  856.                   !item Selbstverständlich werden Absätze innerhalb
  857.                         dieser Umgebung auch in der vierten Stufe
  858.                         korrekt dargestellt.
  859.                   !end_itemize
  860.             !item Selbstverständlich werden Absätze innerhalb
  861.                   dieser Umgebung auch in der dritten Stufe
  862.                   korrekt dargestellt.
  863.             !end_itemize
  864.       !item Selbstverständlich werden Absätze innerhalb
  865.             dieser Umgebung auch in der zweiten Stufe
  866.             korrekt dargestellt.
  867.       !end_itemize
  868. !item Selbstverständlich werden Absätze innerhalb
  869.       dieser Umgebung auch in der ersten Stufe
  870.       korrekt dargestellt.
  871.  
  872. !item Leerzeilen zwischen Aufzählungen haben keine Wirkung.
  873. !end_itemize
  874.  
  875.  
  876. Dieses Beispiel wurde erzeugt durch:
  877.  
  878. !begin_verbatim
  879. !begin_itemize
  880. !item Die erste Stufe bekommt einen dicken Punkt.
  881.       !begin_itemize
  882.       !item Die zweite Stufe bekommt einen Strich.
  883.             !begin_itemize
  884.             !item Die dritte Stufe bekommt einen Stern.
  885.                   !begin_itemize
  886.                   !item Die vierte Stufe bekommt einen Punkt ''(!V).(!v)''.
  887.                   !item Selbstverständlich werden Absätze innerhalb
  888.                         dieser Umgebung auch in der vierten Stufe
  889.                         korrekt dargestellt.
  890.                   !end_itemize
  891.             !item Selbstverständlich werden Absätze innerhalb
  892.                   dieser Umgebung auch in der dritten Stufe
  893.                   korrekt dargestellt.
  894.             !end_itemize
  895.       !item Selbstverständlich werden Absätze innerhalb
  896.             dieser Umgebung auch in der zweiten Stufe
  897.             korrekt dargestellt.
  898.       !end_itemize
  899. !item Selbstverständlich werden Absätze innerhalb
  900.       dieser Umgebung auch in der ersten Stufe
  901.       korrekt dargestellt.
  902.  
  903. !item Leerzeilen zwischen Aufzählungen haben keine Wirkung.
  904. !end_itemize
  905. !end_verbatim
  906.  
  907.  
  908.  
  909. #-----------------------------------------------------------
  910. # Formatierung/Aufzählungen/Beispiel 'enumerate'
  911. #-----------------------------------------------------------
  912. !subsubnode Beispiel ''enumerate''
  913. !label Enumerate-Umgebung
  914.  
  915. !begin_enumerate
  916. !item Die Numerierung der ersten Stufe erfolgt mit arabischen Ziffern, 
  917.       gefolgt von einem Punkt.
  918.       !begin_enumerate
  919.       !item Die Numerierung der zweiten Stufe erfolgt bei UDO in 
  920.             Kleinbuchstaben, gefolgt von einer Klammer. !TeX~benutzt
  921.             hier auch Kleinbuchstaben, die allerdings in () gesetzt
  922.             werden.
  923.             !begin_enumerate
  924.             !item Die Numerierung der dritten Stufe erfolgt bei UDO
  925.                   mit arabischen Ziffern, gefolgt von einer Klammer.
  926.                   !TeX~benutzt hier kleine römische Ziffern, gefolgt
  927.                   von einem Punkt.
  928.                   !begin_enumerate
  929.                   !item Die Numerierung der vierten Stufe erfolgt in
  930.                         Großbuchstaben, gefolgt von einem Punkt.
  931.                   !item Dies ist auch noch die vierte Stufe.
  932.                   !end_enumerate
  933.             !item Dies ist wieder die dritte Stufe.
  934.             !end_enumerate
  935.       !item Dies ist wieder die zweite Stufe.
  936.       !end_enumerate
  937. !item Dies ist wieder die erste Stufe.
  938.  
  939. !item Leerzeilen zwischen Aufzählungen haben keine Wirkung.
  940. !end_enumerate
  941.  
  942.  
  943. Dieses Beispiel wurde erzeugt durch:
  944.  
  945. !begin_verbatim
  946. !begin_enumerate
  947. !item Die Numerierung der ersten Stufe erfolgt mit arabischen Ziffern, 
  948.       gefolgt von einem Punkt.
  949.       !begin_enumerate
  950.       !item Die Numerierung der zweiten Stufe erfolgt bei UDO in 
  951.             Kleinbuchstaben, gefolgt von einer Klammer. !TeX~benutzt
  952.             hier auch Kleinbuchstaben, die allerdings in () gesetzt
  953.             werden.
  954.             !begin_enumerate
  955.             !item Die Numerierung der dritten Stufe erfolgt bei UDO
  956.                   mit arabischen Ziffern, gefolgt von einer Klammer.
  957.                   !TeX~benutzt hier kleine römische Ziffern, gefolgt
  958.                   von einem Punkt.
  959.                   !begin_enumerate
  960.                   !item Die Numerierung der vierten Stufe erfolgt in
  961.                         Großbuchstaben, gefolgt von einem Punkt.
  962.                   !item Dies ist auch noch die vierte Stufe.
  963.                   !end_enumerate
  964.             !item Dies ist wieder die dritte Stufe.
  965.             !end_enumerate
  966.       !item Dies ist wieder die zweite Stufe.
  967.       !end_enumerate
  968. !item Dies ist wieder die erste Stufe.
  969.  
  970. !item Leerzeilen zwischen Aufzählungen haben keine Wirkung.
  971. !end_enumerate
  972. !end_verbatim
  973.  
  974.  
  975.  
  976. #-----------------------------------------------------------
  977. # Formatierung/Aufzählungen/Beispiel 'description'
  978. #-----------------------------------------------------------
  979. !subsubnode Beispiel ''description''
  980. !label Description-Umgebung
  981.  
  982. Die Description-Umgebung eignet sich besonders für ein Glossar, für 
  983. Danksagungen oder die Erklärung von Funktionsparametern innerhalb 
  984. eines Pure-C-Helpfiles.
  985.  
  986. An dieser Stelle dient als Beispiel ein wenig Eigenwerbung (!grin):
  987.  
  988. !begin_description
  989. !item [Play it again, GEM!] ist eine Reihe von sauberen 
  990.       GEM-Spielen, die unter allen TOS-Betriebssystemen, ab 640~x~400 
  991.       Punkten mit beliebiger Farbtiefe auch auf Grafikkarten laufen.
  992.       Die Spiele sind erhältlich bei Delta Labs Media und Dirk 
  993.       Hagedorn Software.
  994. !item [Tricky] ist eine GEM-Version von ""Kniffel"", dem bekannten 
  995.       und beliebten Würfelspiel. ""Tricky"" ist Shareware und kostet 
  996.       nur 15~DM.
  997. !item [Don't worry, be happy] ist eine GEM-Version des Brettspiels 
  998.       ""Mensch ärgere Dich nicht"", ist Shareware und kostet nur 
  999.       15~DM.
  1000. !item [MoveIt] ist eine GEM-Version des Geduldspiels ""Sokoban"", 
  1001.       bietet 50 Level und kostet nur 10~DM.
  1002. !item [Nanjing] ist eine GEM-Version von ""Huang Shi"" bzw. ""Shih 
  1003.       Tao"" und kostet nur 15~DM.
  1004.  
  1005. !item Auch ein normales ''(!V)!/item(!v)'' ist möglich. Leerzeilen 
  1006.       bewirken nichts.
  1007. !end_description
  1008.  
  1009. Dieses Beispiel wurde erzeugt durch:
  1010.  
  1011. !begin_verbatim
  1012. !begin_description
  1013. !item [Play it again, GEM!] ist eine Reihe von sauberen 
  1014.       GEM-Spielen, die unter allen TOS-Betriebssystemen, ab 640~x~400 
  1015.       Punkten mit beliebiger Farbtiefe auch auf Grafikkarten laufen.
  1016.       Die Spiele sind erhältlich bei Delta Labs Media und Dirk 
  1017.       Hagedorn Software.
  1018. !item [Tricky] ist eine GEM-Version von ""Kniffel"", dem bekannten 
  1019.       und beliebten Würfelspiel. ""Tricky"" ist Shareware und kostet 
  1020.       nur 15~DM.
  1021. !item [Don't worry, be happy] ist eine GEM-Version des Brettspiels 
  1022.       ""Mensch ärgere Dich nicht"", ist Shareware und kostet nur 
  1023.       15~DM.
  1024. !item [MoveIt] ist eine GEM-Version des Geduldspiels ""Sokoban"", 
  1025.       bietet 50 Level und kostet nur 10~DM.
  1026. !item [Nanjing] ist eine GEM-Version von ""Huang Shi"" bzw. ""Shih 
  1027.       Tao"" und kostet nur 15~DM.
  1028.  
  1029. !item Auch ein normales ''(!V)!/item(!v)'' ist möglich. Leerzeilen 
  1030.       bewirken nichts.
  1031. !end_description
  1032. !end_verbatim
  1033.  
  1034.  
  1035.  
  1036.  
  1037. #-----------------------------------------------------------
  1038. # Formatierung/Ausgabe von Originaltext
  1039. #-----------------------------------------------------------
  1040. !subnode Ausgabe von Originaltext
  1041. !label Verbatim-Umgebung
  1042.  
  1043. Manchmal möchte man Textabschnitte so ausgeben, wie sie im Text ste!-hen. 
  1044. Ein Beispiel ist z.B. ein Teil eines Sourcecodes eines Programms.
  1045.  
  1046. Für diesen Zweck gibt es in UDO wie auch in !TeX~die 
  1047. Verbatim-Umgebung, welche durch die Befehle 
  1048. ''(!V)!/begin_verbatim(!v)'' und ''(!V)!/end_verbatim(!v)'' 
  1049. gekennzeichnet wird.
  1050.  
  1051. Alles, was zwischen diesen beiden Befehlen steht, wird ohne 
  1052. Be!-ar!-bei!-tung und ohne Formatierung, also 1:1 ausgegeben. 
  1053. Einrückungen der Quote-Umgebung werden jedoch berücksichtigt.
  1054.  
  1055.  
  1056. #-----------------------------------------------------------
  1057. # Formatierung/Silbentrennung
  1058. #-----------------------------------------------------------
  1059. !subnode Silbentrennung
  1060.  
  1061. Man kann von UDO nicht erwarten, daß er eine komplette Sil!-ben!-tren!-nung, wie 
  1062. man sie von !TeX~oder einer Textverarbeitung her kennt, beinhaltet.
  1063. Allerdings kann man UDO die Silben eines Wortes durch den Trennstrich
  1064. ''(!V)!/-(!v)'' kenntlich machen.
  1065.  
  1066. Da Bilder bekanntlich mehr als tausend Worte sagen, hier ein kleines 
  1067. Beispiel, in dem extralange Wortkonstrukte als Verdeutlichung dienen:
  1068.  
  1069. Dies ist das erste Beispiel: 
  1070. Ein
  1071. Fußballstadionflutlichtglühbirnenfassungsgewinde
  1072. und noch ein
  1073. Fußballstadionflutlichtglühbirnenfassungsgewinde
  1074. sind zusammen zwei
  1075. Fußballstadionflutlichtglühbirnenfassungsgewinde.
  1076.  
  1077. Dies ist das zweite Beispiel:
  1078. Ein
  1079. Fuß!-ball!-sta!-dion!-flut!-licht!-glüh!-bir!-nen!-fas!-sungs!-ge!-win!-de 
  1080. und noch ein
  1081. Fuß!-ball!-sta!-dion!-flut!-licht!-glüh!-bir!-nen!-fas!-sungs!-ge!-win!-de
  1082. sind zusammen zwei
  1083. Fuß!-ball!-sta!-dion!-flut!-licht!-glüh!-bir!-nen!-fas!-sungs!-ge!-win!-de.
  1084.  
  1085. Und so sieht das im Quelltext aus:
  1086.  
  1087. !begin_quote
  1088. !begin_verbatim
  1089. Dies ist das erste Beispiel: 
  1090. Ein
  1091. Fußballstadionflutlichtglühbirnenfassungsgewinde
  1092. und noch ein
  1093. Fußballstadionflutlichtglühbirnenfassungsgewinde
  1094. sind zusammen zwei
  1095. Fußballstadionflutlichtglühbirnenfassungsgewinde.
  1096.  
  1097. Dies ist das zweite Beispiel:
  1098. Ein
  1099. Fuß!-ball!-sta!-dion!-flut!-licht!-glüh!-bir...
  1100. und noch ein
  1101. Fuß!-ball!-sta!-dion!-flut!-licht!-glüh!-bir...
  1102. sind zusammen zwei
  1103. Fuß!-ball!-sta!-dion!-flut!-licht!-glüh!-bir...
  1104. !end_verbatim
  1105. !end_quote
  1106.  
  1107.  
  1108. Beim ersten Beispiel sieht man gleich, daß das sinnlose Wort den ganzen 
  1109. Umbruch zerstört und eine absolut häßliche Ausgabe erzeugt. Das zweite 
  1110. Beispiel hingegen sieht doch ganz brauchbar aus, oder? (!grin)
  1111.  
  1112. Jetzt stellen wir uns einmal vor, wir hätten wirklich solch ein 
  1113. Wort!-un!-ge!-tüm in einem unserer Quelltexte. Die dauernde erneute Angabe der 
  1114. Trennstriche ginge einem sicher schnell auf die Nerven. Aber es gibt 
  1115. Abhilfe.
  1116.  
  1117. Durch das Kommando ''(!V)!/hyphen(!v)'' kann man UDO sagen, daß er 
  1118. gefälligst ein bestimmtes Wort immer(!N)genauer, ab dem Auftreten von 
  1119. ''(!V)!/hyphen(!v)''(!n) auf eine bestimmte Art und Weise zu trennen hat.
  1120.  
  1121. Im obigen Beispiel hätte also das Einfügen des Kommandos
  1122.  
  1123. !begin_quote
  1124. !begin_verbatim
  1125. !hyphen Fuß!-ball!-sta!-dion!-flut!-licht!-glüh!-bir...
  1126. !end_verbatim
  1127. !end_quote
  1128.  
  1129. dieselbe Wirkung erzielt. Probieren wir es doch einmal kurz aus:
  1130.  
  1131. !hyphen Fuß!-ball!-sta!-dion!-flut!-licht!-glüh!-bir!-nen!-fas!-sungs!-ge!-win!-de
  1132.  
  1133. Dies ist das erste Beispiel: 
  1134. Ein
  1135. Fußballstadionflutlichtglühbirnenfassungsgewinde
  1136. und noch ein
  1137. Fußballstadionflutlichtglühbirnenfassungsgewinde
  1138. sind zusammen zwei
  1139. Fußballstadionflutlichtglühbirnenfassungsgewinde.
  1140.  
  1141.  
  1142. (!B)Wichtige Anmerkungen(!b):
  1143.  
  1144. Der (!V)!/hyphen(!v)--Befehl ist nicht ganz unproblematisch und kann einem 
  1145. schnell einen ganzen Zieltext unbrauchbar machen:
  1146.  
  1147. UDO speichert die mit ''(!V)!/hyphen(!v)'' gemachten Trennvorschläge in 
  1148. einer in!-ter!-nen Liste, welche Platz für 256 Einträge zu je 80 Zeichen 
  1149. bie!-tet, und arbeitet diese nach dem FIFO--Prinzip ab(!N)FIFO bedeutet 
  1150. ""first in first out""(!n).
  1151.  
  1152. Bei der Ausgabe eines Wortes schaut UDO dann in der internen Liste nach, ob 
  1153. ein Trennvorschlags-Muster in diesem Wort vorkommt. Falls ja, so wird 
  1154. dieses Muster in dem Wort eingesetzt.
  1155.  
  1156. Bei der Verwendung der Trennvorschläge ist folgendes zu beachten:
  1157.  
  1158. !begin_description
  1159. !item    [Plural vor Singular]: ''(!V)For!/-ma!-/te(!v)'' vor 
  1160.         ''(!V)For!/-mat(!v)''. UDO würde im um!-ge!-kehr!-ten Falle aus 
  1161.         ''(!V)Formate(!v)'' das Wort ''(!V)For!/-mate(!v)'' erzeugen und 
  1162.         würde die letzte Silbe nicht mehr bei der Trennung berücksichtigen.
  1163. !item    [Groß/Kleinschreibung beachten]: ''(!V)Sei!/-te(!v)'' ist nicht 
  1164.         gleich ''(!V)sei!/-te(!v)''.
  1165. !item    [Sparsamer Einsatz]: Jeder zusätzliche Trennvorschlag verlangsamt 
  1166.         die Konvertierung. ''(!V)!/hyphen(!v)'' sollte also nur bei Wörtern 
  1167.         benutzt werden, die mindestens viermal oder öfters im Quelltext 
  1168.         auf!-tre!-ten. Ansonsten benutzt man besser direkt im Quelltext die 
  1169.         Trennstriche.
  1170. !item    [Rechtzeitiger Einsatz]: Ein Trennvorschlag wir bei der 
  1171.         Konvertierung erst ab der Stelle beachtet, bei dem er angegeben 
  1172.         wurde. Trenn!-vor!-schlä!-ge setzte man daher am besten an den Anfang des 
  1173.         Quelltextes bzw. lagert sie in eine eigene Datei aus und bindet 
  1174.         diese per ''(!V)!/include(!v)'' gleich am Anfang des Quelltextes 
  1175.         ein.
  1176. !end_description
  1177.  
  1178.  
  1179.  
  1180. #-----------------------------------------------------------
  1181. # Formatierung/Zeilenumbruch
  1182. #-----------------------------------------------------------
  1183. !subnode Zeilenumbruch
  1184.  
  1185. UDO formatiert den Text eigenständig und trennt Absätze durch 
  1186. Leerzeilen. Man hätte also keine Möglichkeit, einen Zeilenumbruch zu 
  1187. er!-zwin!-gen, würde es nicht den Befehl ''(!V)(!/nl)(!v)'' geben.
  1188.  
  1189. Durch ''(!V)(!/nl)(!v)'' erhält man also die Möglichkeit,
  1190. einen Absatz an beliebiger (!nl) Stelle aufzubrechen.
  1191.  
  1192. Obiges Beispiel wurde erzeugt durch:
  1193.  
  1194. !begin_verbatim
  1195. Durch ''(!V)(!/nl)(!v)'' erhält man also die Möglichkeit,
  1196. einen Absatz an beliebiger (!nl) Stelle aufzubrechen.
  1197. !end_verbatim
  1198.  
  1199.  
  1200. Ein weiteres Einsatzgebiet ist z.B. der erzwungene Zeilenumbruch bei 
  1201. den Itemize-Umgebung:
  1202.  
  1203. !begin_itemize
  1204. !item Hier steht Blödsinn (!nl) Hier auch.
  1205. !item Und hier erst (!nl)
  1206.       Besser wird's nicht...
  1207. !end_itemize
  1208.  
  1209.  
  1210. Dieses Beispiel wiederum wurde folgendermaßen erzeugt:
  1211.  
  1212. !begin_verbatim
  1213. !begin_itemize
  1214. !item Hier steht Blödsinn (!nl) Hier auch.
  1215. !item Und hier erst (!nl)
  1216.       Besser wird's nicht...
  1217. !end_itemize
  1218. !end_verbatim
  1219.  
  1220.  
  1221.  
  1222. #-----------------------------------------------------------
  1223. # Formatierung/Seitenumbruch
  1224. #-----------------------------------------------------------
  1225. !subnode Seitenumbruch
  1226.  
  1227. Durch den Befehl ''(!V)!/newpage(!v)'' kann man !TeX~und RTF dazu 
  1228. zwingen, den folgenden Text auf eine neue Seite zu positionieren.
  1229.  
  1230. Bei der Wandlung nach 1stWord wird ''(!V)!/newpage(!v)'' durch einen 
  1231. Formfeed (ASCII 12) ersetzt.
  1232.  
  1233. Bei allen anderen Zielformaten wird ''(!V)!/newpage(!v)'' gefiltert.
  1234.  
  1235.  
  1236. ############################################################
  1237. # Grafikeinbindung
  1238. ############################################################
  1239. !newpage
  1240. !node Grafikeinbindung
  1241.  
  1242. !stg_subtoc
  1243. !pch_subtoc
  1244.  
  1245. !P kann die Einbindung von GEM-Images für den ST-Guide, das CS-!TeX 
  1246. und das Lindner-!TeX umsetzen. Das Bild wird dabei jeweils zentriert 
  1247. und mit der (optionalen) Bildunterschrift versehen.
  1248.  
  1249. Für die Einbindung sorgt ''(!V)!/image F [B](!v)''. ''F'' ist dabei der 
  1250. Dateiname des GEM-Images, ''B'' die optionale Bildunterschrift.
  1251.  
  1252. Hier ein Beispiel:
  1253.  
  1254. !tex_lindner
  1255. !tex_dpi 100
  1256. !image img\tiger.img Ein GEM-Image
  1257.  
  1258. Dieses Beispiel wurde erzeugt mit!..
  1259.  
  1260. !begin_quote
  1261. !begin_verbatim
  1262. !tex_lindner
  1263. !tex_dpi 100
  1264. !image img\tiger.img Ein GEM-Image
  1265. !end_verbatim
  1266. !end_quote
  1267.  
  1268.  
  1269. #-----------------------------------------------------------
  1270. # Grafikeinbindung/ST-Guide
  1271. #-----------------------------------------------------------
  1272. !subnode Grafikeinbindung für den ST-Guide
  1273.  
  1274. !P ermittelt zunächst die Breite und Höhe des Bildes, gibt eine 
  1275. ''(!V)@image(!v)''-Zeile so aus, daß das Bild zentriert dargestellt 
  1276. wird und fügt dann noch in der erzeugten STG-Datei die nötige Anzahl 
  1277. an Leerzeilen ein.
  1278.  
  1279. Die Zentrierung des Bildes und die Anzahl der Leerzeilen beziehen sich 
  1280. dabei auf die Ausmaße des 10pt-Systemfonts.
  1281.  
  1282. Wurde eine Bildunterschrift angegeben, so wird diese ebenfalls 
  1283. zen!-triert direkt unterhalb des Bildes ausgegeben.
  1284.  
  1285.  
  1286. #-----------------------------------------------------------
  1287. # Grafikeinbindung/Lindner-TeX
  1288. #-----------------------------------------------------------
  1289. !subnode Grafikeinbindung für das Lindner-!TeX
  1290.  
  1291. Damit !P weiß, daß die Grafikeinbindung für das CS-!TeX erzeugt wer!-den 
  1292. soll, muß man im Quelltext ''(!V)!/tex_lindner(!v)'' angeben. Außerdem 
  1293. muß im Vorspann des Quelltextes
  1294.  
  1295. !begin_quote
  1296. !begin_verbatim
  1297. !tex \input graphic
  1298. !end_verbatim
  1299. !end_quote
  1300.  
  1301. eingefügt wer!-den.
  1302.  
  1303. Dem Lindner-!TeX liegt ein Utility namens ''IMGTOTEX'' bei, mit dem 
  1304. man die Auflösung eines Bildes ändern und eine dem Bild zugehöriges 
  1305. Makro zur Einbindung erzeugen kann. ''IMGTOTEX'' wird für !P nicht 
  1306. mehr benötigt, denn !P übernimmt vollständig seine Funktion.
  1307.  
  1308. Durch den Befehl ''(!V)!/tex_dpi XXX(!v)'' bestimmt man die Auflösung 
  1309. der fol!-gen!-den Bilder. !P liest zunächst den Header des Images aus, 
  1310. über!-prüft dessen Auflösung und schreibt -- falls nötig -- die neue 
  1311. Auf!-lö!-sung in den Header. Defaultmäßig steht die Auflösung auf 100dpi. 
  1312. Sie kann vor jedem Bild neu gesetzt werden.
  1313.  
  1314. Zur eigentlichen Einbindung wird dann ein passendes Makro für das 
  1315. Lindner-!TeX geschrieben, das Ganze in eine Figure-Umgebung gepackt 
  1316. und falls eine Bildunterschrift angegeben wurde, diese als 
  1317. ''(!V)\caption(!v)'' in die Figure-Umgebung gesetzt.
  1318.  
  1319.  
  1320.  
  1321. #-----------------------------------------------------------
  1322. # Grafikeinbindung/CS-TeX
  1323. #-----------------------------------------------------------
  1324. !subnode Grafikeinbindung für das CS-!TeX
  1325.  
  1326. Damit !P weiß, daß die Grafikeinbindung für das CS-!TeX erzeugt wer!-den 
  1327. soll, muß man im Quelltext ''(!V)!/tex_strunk(!v)'' angeben.
  1328.  
  1329. Genau wie beim Lindner-!TeX wird zur Einbindung des Images ein 
  1330. pas!-sen!-des Makro geschrieben,  das Ganze in eine Figure-Umgebung 
  1331. ge!-packt 
  1332. und falls eine Bildunterschrift angegeben wurde, diese als 
  1333. ''(!V)\caption(!v)'' in die Figure-Umgebung gesetzt.
  1334.  
  1335. Auch beim Strunk-!TeX wird auf die mittels ''(!V)!/tex_dpi(!v)'' 
  1336. gesetzte Auf!-lö!-sung zurückgegriffen.
  1337.  
  1338. Da ich mich dem Strunk-!TeX allerdings nicht gut auskenne, kann es 
  1339. sein, daß die Bildeinbindung nicht gut gelöst ist. Wenn Du mir einen 
  1340. Tip geben kannst, wie man es besser machen sollte, dann her damit!
  1341.  
  1342.  
  1343.  
  1344. ############################################################
  1345. # Tips & Tricks
  1346. ############################################################
  1347.  
  1348. !newpage
  1349. !node Tips !& Tricks
  1350.  
  1351. !stg_subtoc
  1352. !pch_subtoc
  1353.  
  1354. Diese Kapitel sind noch vorläufig und werden denächst überarbeitet. Sobald 
  1355. die ersten Fragen auftauchen, werde ich dann auch genau wis!-sen, was besser 
  1356. und genauer erklärt werden muß.
  1357.  
  1358. !include add\udo2tex.ui
  1359.  
  1360. !include add\udo2pch.ui
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366. ############################################################
  1367. # Anhang
  1368. ############################################################
  1369.  
  1370. !begin_appendix
  1371.  
  1372. !newpage
  1373. !include add\bezug.ui
  1374.  
  1375. !newpage
  1376. !include add\thanx.ui
  1377.  
  1378. !newpage
  1379. !include add\recht.ui
  1380.  
  1381. !end_appendix
  1382.  
  1383.  
  1384. ############################################################
  1385. # Feierabend
  1386. ############################################################
  1387. !end_document
  1388.  
  1389.